﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio;
using System.Web.Services;

namespace Presentacion.controlasistencia
{
    public partial class mesesAnios : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["admin"] != null || Session["vicerrectorado"] != null || Session["secretaria"] != null || Session["idDocente"] != null)
            {

                if (!IsPostBack && Request.QueryString["id"] != null)
                {
                    string idP = Request.QueryString["id"];
                    try
                    {
                        Negocio.catalogos.catalogoPeriodo _obj = new Negocio.catalogos.catalogoPeriodo();
                        var inicioDeClases = new catalogoCalendarioAcademico().obtenerInicioANDFinDeClases(Convert.ToInt32(idP), "#00a65a");
                        var finDeClases = new catalogoCalendarioAcademico().obtenerInicioANDFinDeClases(Convert.ToInt32(idP), "#0073b7");
                        int diferencia = (finDeClases.start.Value.Month - inicioDeClases.start.Value.Month) + 12 * (finDeClases.start.Value.Year - inicioDeClases.start.Value.Year);
                        var resultado = _obj.obtenerPeriodo(Convert.ToInt32(idP));
                        if (diferencia > 0) //resultado.Count() > 0
                        {
                            //for (int i = 0; i < diferencia; i++)
                            ////{

                            ////}
                            ////foreach (var item in resultado)
                            //{
                            // DateTime fechaInicio = Convert.ToDateTime(item.fechaInicio);
                            //DateTime fechaFin = Convert.ToDateTime(item.fechaFin);
                            var fechaInicio = new catalogoCalendarioAcademico().obtenerInicioANDFinDeClases(Convert.ToInt32(idP), "#00a65a");
                            var fechaFin = new catalogoCalendarioAcademico().obtenerInicioANDFinDeClases(Convert.ToInt32(idP), "#0073b7");
                            //int meses = (fechaFin.Month - fechaInicio.Month) + 12 * (fechaFin.Year - fechaInicio.Year);
                            int meses = (fechaFin.start.Value.Month - fechaInicio.start.Value.Month) + 12 * (fechaFin.start.Value.Year - fechaInicio.start.Value.Year);
                            int numeroMes = 0;
                            string nombreMes = "";
                            for (int i = 0; i <= meses; i++)
                            {

                                //int filtro = fechaInicio.Month + i;
                                //int anio = fechaInicio.Year;
                                int filtro = fechaInicio.start.Value.Month + i;
                                int anio = fechaInicio.start.Value.Year;
                                if (filtro > 12)
                                {
                                    filtro = filtro - 12;
                                    //anio = fechaFin.Year;
                                    anio = fechaFin.start.Value.Year;
                                }
                                switch (filtro)
                                {
                                    case 1: numeroMes = 1; nombreMes = "Enero"; break;
                                    case 2: numeroMes = 2; nombreMes = "Febrero"; break;
                                    case 3: numeroMes = 3; nombreMes = "Marzo"; break;
                                    case 4: numeroMes = 4; nombreMes = "Abril"; break;
                                    case 5: numeroMes = 5; nombreMes = "Mayo"; break;
                                    case 6: numeroMes = 6; nombreMes = "Junio"; break;
                                    case 7: numeroMes = 7; nombreMes = "Julio"; break;
                                    case 8: numeroMes = 8; nombreMes = "Agosto"; break;
                                    case 9: numeroMes = 9; nombreMes = "Septiembre"; break;
                                    case 10: numeroMes = 10; nombreMes = "Octubre"; break;
                                    case 11: numeroMes = 11; nombreMes = "Noviembre"; break;
                                    case 12: numeroMes = 12; nombreMes = "Diciembre"; break;
                                    default: break;
                                }
                                Response.Write("<option value='" + numeroMes + " - " + anio + "'>" + nombreMes + " - " + anio + "</option>");
                            }
                            //}
                        }
                    }
                    catch (Exception)
                    {
                        Response.Write("<option value='0'>No hay meses para seleccionar</option>");
                    }
                }

            }
            else
            {
                Response.Redirect("Default.aspx");
            }
        }
    }
}